Storj IPFSのピンニングサービスを使ってみる [ベータ版]
Storj IPFS Pinning Service (Beta)を使うと、
Storj DCSネットワーク上のStorjがホストするIPFSの専用ノードを介して、分散型クラウドへのIPFSピンニングを使用できます。
HTTPエンドポイントを介してアップロードできるだけでなく、Braveなどのブラウザ、パブリックIPFSゲートウェイ、またはIPFSDesktopやIPFSCLIなどのIPFSプログラムで、CIDを使用して、 コンテンツを取得できます。
IPFS上にアップロードしたファイルは一時的にノード上にキャッシュされて残るのですが、ガベージコレクションが存在しており、これが実行されるとキャッシュは消去されてしまいます。 ノードにファイルを保持し続けるために行うのがPin(固定)です。 Storj IPFS Pinning ServiceはこのPinを代わりに行なってくれます。
使ってみる
現在はベータ版として提供されています。
ここ からベータ版への参加リクエストを送ることができ、 2、3日するとメールで参加するための情報が返ってきました。
HTTPアップロードエンドポイントを使ってアップロード
エンドポイント: https://www.storj-ipfs.com/api/v0/add
Storj IPFSサービスにアップロードされたすべてのコンテンツが固定されます。
IPFS HTTP RPCに従うとのことですが、
wrap-with-directory
というオプションのみサポートしている(ファイルをディレクトリオブジェクトでラップするかどうか。bool型)
ベータ版への参加を招待されたときに付与される資格情報をHTTPベーシック認証として指定する必要がある
とのこと。
CURL
コマンド例)
curl -u <<ipfs_beta_user>>:<<ipfs_beta_password>> \ -X POST \ -F file=@<</path/file.extension>> \ "https://www.storj-ipfs.com/api/v0/add?wrap-with-directory=true"
レスポンス例)
wrap-with-directoryがtrueだと、以下のように2つのjsonデータが帰ってきます。
ハッシュ値、名前、サイズが含まれたBodyです。
{"Name":"FWV4_NCaUAEaJg_.jpeg","Hash":"QmacLE8eLan9khTKEASqEKPJbW5bnCzLUPenB8i6J5YGCk","Size":"95498"} {"Name":"","Hash":"QmWH5shpBCkAzpFjauwQVLeUbwBpigT1JmMLueEgwX8k8a","Size":"95566"}
javascript
公式のドキュメントに、javascriptを使用した例 があるので、この方法でも可能です。
Pinされたファイルを取得する
アップロードされたコンテンツはすべて自動的に固定され、IPFSデスクトップやIPFS CLIなどのCIDを介してネイティブにIPFSをサポートするソフトウェアから取得できます.
IPFSをネイティブにサポートしていないアプリケーションの場合は、任意のパブリックIPFSゲートウェイ、またはStorj IPFSゲートウェイを使用できます。
#### Storj IPFSゲートウェイ経由
https://www.storj-ipfs.com/ipfs/<cid>
で取得できます。
cid
はアップロードした時に帰ってくるbodyに含まれているHash
の値を使います。
例) https://www.storj-ipfs.com/ipfs/QmacLE8eLan9khTKEASqEKPJbW5bnCzLUPenB8i6J5YGCk
かなり高速に取得できました。
ベータ版なので、これから使用方法が変わったりなどがあると思います。 今後の情報も追いかけていきたいと思います